Analysis of PC9.1 cells treated with multiple drugs and drug concentrations using RT-glo.
Columns 3-22 have RT-glo, other do not.
O13-22 should be controls.
library(diprate)
# New function to correct time format
# Example time: 12-17-2021 5:22 PM
fixTime <- function(...) strptime(format="%m-%d-%Y %I:%M %p", ...)
d <- read.csv("~/dropbox-vu/temp/lum_cellcount_JAB002-3.csv", row.names=1)
d[d$drug_conc == "NaN", "drug_conc"] <- NA
d$drug_conc <- as.numeric(d$drug_conc)
d[d$drug == "", "drug"] <- NA
cn <- colnames(d)
cn <- gsub("drug_", "drug1.", cn)
cn <- gsub("drug$", "drug1", cn)
cn <- gsub("_", ".", cn)
colnames(d) <- cn
d[is.na(d$drug1.conc), "drug1.conc"] <- 0
TxTime <- fixTime(min(d$image.time))
d$time <- signif(as.numeric(difftime(fixTime(d$image.time), TxTime, units="hours")),3)
d <- d[order(d$well,d$time),]
d$uid <- d$well
rownames(d) <- NULL
# drop first two time points
d <- d[d$plate.id > 2,]
ctrl <- d[d$well %in% paste0("O",13:22),]
temp <- plotGC(ctrl$time, ctrl$cell.count, ctrl$well, main="Cell counts")
temp <- plotGC(ctrl$time, ctrl$RLU, ctrl$well, main="Luminescence")
plot(RLU ~ cell.count, data=ctrl)
drugs <- unique(d$drug1)
drugs <- drugs[!is.na(drugs)]
a <- lapply(drugs, function(dr) d[d$drug1==dr & !is.na(d$drug1),])
par(mfrow=c(3,3))
temp <- lapply(a, function(z) do.call(plotGC, append(getGCargs(z), list(rep=z$drug1.conc, main=unique(z$drug1)))))
par(mfrow=c(3,3))
temp <- lapply(a, function(z) do.call(plotGC, append(getGCargs(z,
arg.name = c("time", "cell.count", "ids"),
dat.col = c("time", "RLU", "uid")),
list(rep=z$drug1.conc, main=unique(z$drug1)))))
plotLin <- function (x, y, ids, rep = ids, color = TRUE, leg = TRUE, ...)
{
urep <- unique(rep)
ifelse(color, rep.col <- gplots::colorpanel(n = length(urep),
low = "blue", mid = "orange", high = "red"), rep.col <- rep("black",
length(urep)))
plot(x, y, type = "n", ...)
for (myrep in urep) for (i in unique(ids))
lines(x[ids == i & rep == myrep],
y[ids == i & rep == myrep],
col = rep.col[match(myrep, urep)])
if (leg)
legend("topleft", legend = urep, col = rep.col, lwd = 1)
return(NULL)
}
par(mfrow=c(3,3))
temp <- lapply(a, function(z) do.call(plotLin, list(x=z$time, y=log2(z$cell.count+1), ids=z$well,
rep=z$drug1.conc, main=unique(z$drug1),
ylab="log2(cell count)")))
par(mfrow=c(3,3))
temp <- lapply(a, function(z) do.call(plotLin, list(x=z$time, y=log2(z$RLU), ids=z$well,
rep=z$drug1.conc, main=unique(z$drug1),
ylab="log2(RLU)")))